#ifndef REVOLUCION_H
#define REVOLUCION_H

#include "matematicas.h"

#define BOTON_PULSADO 1
#define BOTON_NO_PULSADO 0

#define DENTRO 1
#define FUERA 0

int escenario;

int botonIzquierdoPulsado = BOTON_NO_PULSADO;
int botonDerechoPulsado = BOTON_NO_PULSADO;
int botonMedioPulsado = BOTON_NO_PULSADO;
int auxiliarPulsada;
Punto3D pInicio, pFin;
float alfa = 0.0f;
float beta = 0.0f;
float dx, dy, dz;
float w, h;
float Z; // La profundidad de las esquinas de la ventana
float R2; // El radio al cuadrado
float matriz[16]; // La matriz de rotacion
float matrizActual[16] = {1.0f, 0.0f, 0.0f, 0.0f, //Ojo que las matrices se definen por columnas
		    0.0f, 1.0f, 0.0f, 0.0f,
		    0.0f, 0.0f, 1.0f, 0.0f,
		    0.0f, 0.0f, 0.0f, 1.0f};

float producto[16] = {1.0f, 0.0f, 0.0f, 0.0f, //Ojo que las matrices se definen por columnas
		    0.0f, 1.0f, 0.0f, 0.0f,
		    0.0f, 0.0f, 1.0f, 0.0f,
		    0.0f, 0.0f, 0.0f, 1.0f};

void display (void);
void Key (unsigned char, int, int);
void KeySpecial (int key, int x, int y);
void inicializaIluminacion(void);
void inicializaTeclado (void);
void inicializaVista (void);
void reshape (int width, int height);
void inicializaVentana (int argc, char **argv);
void pintaModelo (int argc, char **argv);
void iniciaRaton(void);
void botonRatonPulasado(int boton, int estado, int x, int y);
void ratonMovido(int x, int y);
int dentroVentana(int x, int y);
void iniciaDisplayLists(void);
void iniciaLuces(void);

#endif
